package com.xian.d1_static;

public class User {
    /**
     * 在线人数
     * 注意：static修饰的成员变量：静态成员变量，只在内存中有一份，可以被共享
     */
    public static int onlineNumber = 161;

    /**
     * 实例成员变量:无static修饰，属于每个对象的，必须用对象名.访问
     */
    private String name;
    private int age;

    public static void main(String[] args) {
        //目标:理解static修饰成员变量的作用和访问特点。
        //1.类名.静态成员变量
        System.out.println(User.onlineNumber);  //推荐用类名

        //2.对象名.实例成员变量
//        System.out.println(name);   //报错
        User user = new User();
        user.name = "张三";
        user.age = 18;

        System.out.println(user.name);
        System.out.println(user.age);

        user.onlineNumber++;
        System.out.println(user.onlineNumber);

        System.out.println("---------------------");

        User user2 = new User();
        user2.name = "李四";
        user2.age = 23;
        System.out.println(user2.name);
        System.out.println(user2.age);

        user2.onlineNumber++;
        System.out.println(user2.onlineNumber);
        System.out.println(User.onlineNumber);  //推荐方式
        //注意:同一个类中静态成员变量的访问可以省略类名。
        System.out.println(onlineNumber); //同一个类中直接使用

    }
}
